rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
↳ QTRS
↳ AAECC Innermost
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
car(.(x, y)) → x
cdr(.(x, y)) → y
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
null(nil) → true
null(.(x, y)) → false
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil)
rev(.(x0, x1))
car(.(x0, x1))
cdr(.(x0, x1))
null(nil)
null(.(x0, x1))
++(nil, x0)
++(.(x0, x1), x2)
REV(.(x, y)) → ++1(rev(y), .(x, nil))
REV(.(x, y)) → REV(y)
++1(.(x, y), z) → ++1(y, z)
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil)
rev(.(x0, x1))
car(.(x0, x1))
cdr(.(x0, x1))
null(nil)
null(.(x0, x1))
++(nil, x0)
++(.(x0, x1), x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
REV(.(x, y)) → ++1(rev(y), .(x, nil))
REV(.(x, y)) → REV(y)
++1(.(x, y), z) → ++1(y, z)
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil)
rev(.(x0, x1))
car(.(x0, x1))
cdr(.(x0, x1))
null(nil)
null(.(x0, x1))
++(nil, x0)
++(.(x0, x1), x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
REV(.(x, y)) → ++1(rev(y), .(x, nil))
REV(.(x, y)) → REV(y)
++1(.(x, y), z) → ++1(y, z)
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil)
rev(.(x0, x1))
car(.(x0, x1))
cdr(.(x0, x1))
null(nil)
null(.(x0, x1))
++(nil, x0)
++(.(x0, x1), x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
++1(.(x, y), z) → ++1(y, z)
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil)
rev(.(x0, x1))
car(.(x0, x1))
cdr(.(x0, x1))
null(nil)
null(.(x0, x1))
++(nil, x0)
++(.(x0, x1), x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
++1(.(x, y), z) → ++1(y, z)
trivial
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil)
rev(.(x0, x1))
car(.(x0, x1))
cdr(.(x0, x1))
null(nil)
null(.(x0, x1))
++(nil, x0)
++(.(x0, x1), x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
REV(.(x, y)) → REV(y)
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil)
rev(.(x0, x1))
car(.(x0, x1))
cdr(.(x0, x1))
null(nil)
null(.(x0, x1))
++(nil, x0)
++(.(x0, x1), x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV(.(x, y)) → REV(y)
.2 > REV1
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
rev(nil) → nil
rev(.(x, y)) → ++(rev(y), .(x, nil))
car(.(x, y)) → x
cdr(.(x, y)) → y
null(nil) → true
null(.(x, y)) → false
++(nil, y) → y
++(.(x, y), z) → .(x, ++(y, z))
rev(nil)
rev(.(x0, x1))
car(.(x0, x1))
cdr(.(x0, x1))
null(nil)
null(.(x0, x1))
++(nil, x0)
++(.(x0, x1), x2)